package com.ga.wact.entity;

import javafx.beans.DefaultProperty;
import org.apache.ibatis.annotations.Param;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * *个人信息
 **/
public class FormOnePersonInformation implements Serializable {
    @NotNull(message = "参数不能缺失")
    private int id;//申请表id

    @NotNull(message = "参数不能缺失")
    private int userId;//用户id

    @NotNull(message = "参数不能缺失")
    private String name;//用户姓名
    @NotNull(message = "参数不能缺失")
    private String pinyinName;//用户简拼
    @NotNull(message = "参数不能缺失")
    private String alias;//用户别名
    @NotNull(message = "参数不能缺失")
    private int gender;//用户性别
    @NotNull(message = "参数不能缺失")
    private int stature;//身高
    private Date birthDate;//出生日期
    @NotNull(message = "参数不能缺失")
    private String birthPlace;//出生地
    @NotNull(message = "参数不能缺失")
    private String idNumber;//身份证号码
    @NotNull(message = "参数不能缺失")
    private int maritalStatus;//婚姻状况
    @NotNull(message = "参数不能缺失")
    private String fatherName;//父亲姓名
    @NotNull(message = "参数不能缺失")
    private String motherName;
    @NotNull(message = "参数不能缺失")
    private String companyName;
    @NotNull(message = "参数不能缺失")
    private String duty;
    @NotNull(message = "参数不能缺失")
    private int residencePlacePostcode;
    @NotNull(message = "参数不能缺失")
    private String companyAddress;
    @NotNull(message = "参数不能缺失")
    private String companyTel;
    @NotNull(message = "参数不能缺失")
    private String companyFax;
    @NotNull(message = "参数不能缺失")
    private String homeDetailedAddress;
    @NotNull(message = "参数不能缺失")
    private String homePhone;
    @NotNull(message = "参数不能缺失")
    private String pagingNumber;
    @NotNull(message = "参数不能缺失")
    private String cellPhoneNumber;
    @NotNull(message = "参数不能缺失")
    private String email;
    private Date scheduledDepartureDate;
    private Date returnDate;
    @NotNull(message = "参数不能缺失")
    private int spentOutsideDays;
    @NotNull(message = "参数不能缺失")
    private int entryNumber;
    @NotNull(message = "参数不能缺失")
    private String entryPlace;
    @NotNull(message = "参数不能缺失")
    private int joinArmyStatus;
    @NotNull(message = "参数不能缺失")
    private int publicPassportStatus;
    @NotNull(message = "参数不能缺失")
    private String publicPassportOther;
    private Date expiryDate;
    private Date publicPassportEndTime;
    @NotNull(message = "参数不能缺失")
    private String publicPassportNumber;
    @NotNull(message = "参数不能缺失")
    private int passportStatus;
    @NotNull(message = "参数不能缺失")
    private int hasApplyThisCountryVisa;
    private Date hasApplyDate;
    @NotNull(message = "参数不能缺失")
    private String place;
    @NotNull(message = "参数不能缺失")
    private String hasApplyType;
    @NotNull(message = "参数不能缺失")
    private int hasRefuse;
    private Date hasRefuseDate;
    @NotNull(message = "参数不能缺失")
    private int hasGone;
    private Date goTime;
    @NotNull(message = "参数不能缺失")
    private int goDays;
    @NotNull(message = "参数不能缺失")
    private String relationAndVisaStatus;
    @NotNull(message = "参数不能缺失")
    private int status;
    private List<FormOneAssociationInformation> formOneAssociationInformations;
    private List<FormOneJoinArmyInformation> formOneJoinArmyInformations;
    private List<FormOneHaveVisitedCountry> formOneHaveVisitedCountries;
    private FormOneMaritalInformation formOneMaritalInformation;
    private List<FormOneWorkExperience> formOneWorkExperiences;

    public FormOnePersonInformation(int id, int userId, String name, String pinyinName, String alias, int gender, int stature, Date birthDate, String birthPlace, String idNumber, int maritalStatus, String fatherName, String motherName, String companyName, String duty, int residencePlacePostcode, String companyAddress, String companyTel, String companyFax, String homeDetailedAddress, String homePhone, String pagingNumber, String cellPhoneNumber, String email, Date scheduledDepartureDate, Date returnDate, int spentOutsideDays, int entryNumber, String entryPlace, int joinArmyStatus, int publicPassportStatus, String publicPassportOther, Date expiryDate, Date publicPassportEndTime, String publicPassportNumber, int passportStatus, int hasApplyThisCountryVisa, Date hasApplyDate, String place, String hasApplyType, int hasRefuse, Date hasRefuseDate, int hasGone, Date goTime, int goDays, String relationAndVisaStatus, int status, List<FormOneAssociationInformation> formOneAssociationInformations, List<FormOneJoinArmyInformation> formOneJoinArmyInformations, List<FormOneHaveVisitedCountry> formOneHaveVisitedCountries, FormOneMaritalInformation formOneMaritalInformation, List<FormOneWorkExperience> formOneWorkExperiences) {
        this.id = id;
        this.userId = userId;
        this.name = name;
        this.pinyinName = pinyinName;
        this.alias = alias;
        this.gender = gender;
        this.stature = stature;
        this.birthDate = birthDate;
        this.birthPlace = birthPlace;
        this.idNumber = idNumber;
        this.maritalStatus = maritalStatus;
        this.fatherName = fatherName;
        this.motherName = motherName;
        this.companyName = companyName;
        this.duty = duty;
        this.residencePlacePostcode = residencePlacePostcode;
        this.companyAddress = companyAddress;
        this.companyTel = companyTel;
        this.companyFax = companyFax;
        this.homeDetailedAddress = homeDetailedAddress;
        this.homePhone = homePhone;
        this.pagingNumber = pagingNumber;
        this.cellPhoneNumber = cellPhoneNumber;
        this.email = email;
        this.scheduledDepartureDate = scheduledDepartureDate;
        this.returnDate = returnDate;
        this.spentOutsideDays = spentOutsideDays;
        this.entryNumber = entryNumber;
        this.entryPlace = entryPlace;
        this.joinArmyStatus = joinArmyStatus;
        this.publicPassportStatus = publicPassportStatus;
        this.publicPassportOther = publicPassportOther;
        this.expiryDate = expiryDate;
        this.publicPassportEndTime = publicPassportEndTime;
        this.publicPassportNumber = publicPassportNumber;
        this.passportStatus = passportStatus;
        this.hasApplyThisCountryVisa = hasApplyThisCountryVisa;
        this.hasApplyDate = hasApplyDate;
        this.place = place;
        this.hasApplyType = hasApplyType;
        this.hasRefuse = hasRefuse;
        this.hasRefuseDate = hasRefuseDate;
        this.hasGone = hasGone;
        this.goTime = goTime;
        this.goDays = goDays;
        this.relationAndVisaStatus = relationAndVisaStatus;
        this.status = status;
        this.formOneAssociationInformations = formOneAssociationInformations;
        this.formOneJoinArmyInformations = formOneJoinArmyInformations;
        this.formOneHaveVisitedCountries = formOneHaveVisitedCountries;
        this.formOneMaritalInformation = formOneMaritalInformation;
        this.formOneWorkExperiences = formOneWorkExperiences;
    }

    public FormOnePersonInformation() {
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public int getUserId() {
        return userId;
    }

    public void setUserId(int userId) {
        this.userId = userId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPinyinName() {
        return pinyinName;
    }

    public void setPinyinName(String pinyinName) {
        this.pinyinName = pinyinName;
    }

    public String getAlias() {
        return alias;
    }

    public void setAlias(String alias) {
        this.alias = alias;
    }

    public int getGender() {
        return gender;
    }

    public void setGender(int gender) {
        this.gender = gender;
    }

    public int getStature() {
        return stature;
    }

    public void setStature(int stature) {
        this.stature = stature;
    }

    public Date getBirthDate() {
        return birthDate;
    }

    public void setBirthDate(Date birthDate) {
        this.birthDate = birthDate;
    }

    public String getBirthPlace() {
        return birthPlace;
    }

    public void setBirthPlace(String birthPlace) {
        this.birthPlace = birthPlace;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public int getMaritalStatus() {
        return maritalStatus;
    }

    public void setMaritalStatus(int maritalStatus) {
        this.maritalStatus = maritalStatus;
    }

    public String getFatherName() {
        return fatherName;
    }

    public void setFatherName(String fatherName) {
        this.fatherName = fatherName;
    }

    public String getMotherName() {
        return motherName;
    }

    public void setMotherName(String motherName) {
        this.motherName = motherName;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getDuty() {
        return duty;
    }

    public void setDuty(String duty) {
        this.duty = duty;
    }

    public int getResidencePlacePostcode() {
        return residencePlacePostcode;
    }

    public void setResidencePlacePostcode(int residencePlacePostcode) {
        this.residencePlacePostcode = residencePlacePostcode;
    }

    public String getCompanyAddress() {
        return companyAddress;
    }

    public void setCompanyAddress(String companyAddress) {
        this.companyAddress = companyAddress;
    }

    public String getCompanyTel() {
        return companyTel;
    }

    public void setCompanyTel(String companyTel) {
        this.companyTel = companyTel;
    }

    public String getCompanyFax() {
        return companyFax;
    }

    public void setCompanyFax(String companyFax) {
        this.companyFax = companyFax;
    }

    public String getHomeDetailedAddress() {
        return homeDetailedAddress;
    }

    public void setHomeDetailedAddress(String homeDetailedAddress) {
        this.homeDetailedAddress = homeDetailedAddress;
    }

    public String getHomePhone() {
        return homePhone;
    }

    public void setHomePhone(String homePhone) {
        this.homePhone = homePhone;
    }

    public String getPagingNumber() {
        return pagingNumber;
    }

    public void setPagingNumber(String pagingNumber) {
        this.pagingNumber = pagingNumber;
    }

    public String getCellPhoneNumber() {
        return cellPhoneNumber;
    }

    public void setCellPhoneNumber(String cellPhoneNumber) {
        this.cellPhoneNumber = cellPhoneNumber;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public Date getScheduledDepartureDate() {
        return scheduledDepartureDate;
    }

    public void setScheduledDepartureDate(Date scheduledDepartureDate) {
        this.scheduledDepartureDate = scheduledDepartureDate;
    }

    public Date getReturnDate() {
        return returnDate;
    }

    public void setReturnDate(Date returnDate) {
        this.returnDate = returnDate;
    }

    public int getSpentOutsideDays() {
        return spentOutsideDays;
    }

    public void setSpentOutsideDays(int spentOutsideDays) {
        this.spentOutsideDays = spentOutsideDays;
    }

    public int getEntryNumber() {
        return entryNumber;
    }

    public void setEntryNumber(int entryNumber) {
        this.entryNumber = entryNumber;
    }

    public String getEntryPlace() {
        return entryPlace;
    }

    public void setEntryPlace(String entryPlace) {
        this.entryPlace = entryPlace;
    }

    public int getJoinArmyStatus() {
        return joinArmyStatus;
    }

    public void setJoinArmyStatus(int joinArmyStatus) {
        this.joinArmyStatus = joinArmyStatus;
    }

    public int getPublicPassportStatus() {
        return publicPassportStatus;
    }

    public void setPublicPassportStatus(int publicPassportStatus) {
        this.publicPassportStatus = publicPassportStatus;
    }

    public String getPublicPassportOther() {
        return publicPassportOther;
    }

    public void setPublicPassportOther(String publicPassportOther) {
        this.publicPassportOther = publicPassportOther;
    }

    public Date getExpiryDate() {
        return expiryDate;
    }

    public void setExpiryDate(Date expiryDate) {
        this.expiryDate = expiryDate;
    }

    public Date getPublicPassportEndTime() {
        return publicPassportEndTime;
    }

    public void setPublicPassportEndTime(Date publicPassportEndTime) {
        this.publicPassportEndTime = publicPassportEndTime;
    }

    public String getPublicPassportNumber() {
        return publicPassportNumber;
    }

    public void setPublicPassportNumber(String publicPassportNumber) {
        this.publicPassportNumber = publicPassportNumber;
    }

    public int getPassportStatus() {
        return passportStatus;
    }

    public void setPassportStatus(int passportStatus) {
        this.passportStatus = passportStatus;
    }

    public int getHasApplyThisCountryVisa() {
        return hasApplyThisCountryVisa;
    }

    public void setHasApplyThisCountryVisa(int hasApplyThisCountryVisa) {
        this.hasApplyThisCountryVisa = hasApplyThisCountryVisa;
    }

    public Date getHasApplyDate() {
        return hasApplyDate;
    }

    public void setHasApplyDate(Date hasApplyDate) {
        this.hasApplyDate = hasApplyDate;
    }

    public String getPlace() {
        return place;
    }

    public void setPlace(String place) {
        this.place = place;
    }

    public String getHasApplyType() {
        return hasApplyType;
    }

    public void setHasApplyType(String hasApplyType) {
        this.hasApplyType = hasApplyType;
    }

    public int getHasRefuse() {
        return hasRefuse;
    }

    public void setHasRefuse(int hasRefuse) {
        this.hasRefuse = hasRefuse;
    }

    public Date getHasRefuseDate() {
        return hasRefuseDate;
    }

    public void setHasRefuseDate(Date hasRefuseDate) {
        this.hasRefuseDate = hasRefuseDate;
    }

    public int getHasGone() {
        return hasGone;
    }

    public void setHasGone(int hasGone) {
        this.hasGone = hasGone;
    }

    public Date getGoTime() {
        return goTime;
    }

    public void setGoTime(Date goTime) {
        this.goTime = goTime;
    }

    public int getGoDays() {
        return goDays;
    }

    public void setGoDays(int goDays) {
        this.goDays = goDays;
    }

    public String getRelationAndVisaStatus() {
        return relationAndVisaStatus;
    }

    public void setRelationAndVisaStatus(String relationAndVisaStatus) {
        this.relationAndVisaStatus = relationAndVisaStatus;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public List<FormOneAssociationInformation> getFormOneAssociationInformations() {
        return formOneAssociationInformations;
    }

    public void setFormOneAssociationInformations(List<FormOneAssociationInformation> formOneAssociationInformations) {
        this.formOneAssociationInformations = formOneAssociationInformations;
    }

    public List<FormOneJoinArmyInformation> getFormOneJoinArmyInformations() {
        return formOneJoinArmyInformations;
    }

    public void setFormOneJoinArmyInformations(List<FormOneJoinArmyInformation> formOneJoinArmyInformations) {
        this.formOneJoinArmyInformations = formOneJoinArmyInformations;
    }

    public List<FormOneHaveVisitedCountry> getFormOneHaveVisitedCountries() {
        return formOneHaveVisitedCountries;
    }

    public void setFormOneHaveVisitedCountries(List<FormOneHaveVisitedCountry> formOneHaveVisitedCountries) {
        this.formOneHaveVisitedCountries = formOneHaveVisitedCountries;
    }

    public FormOneMaritalInformation getFormOneMaritalInformation() {
        return formOneMaritalInformation;
    }

    public void setFormOneMaritalInformation(FormOneMaritalInformation formOneMaritalInformation) {
        this.formOneMaritalInformation = formOneMaritalInformation;
    }

    public List<FormOneWorkExperience> getFormOneWorkExperiences() {
        return formOneWorkExperiences;
    }

    public void setFormOneWorkExperiences(List<FormOneWorkExperience> formOneWorkExperiences) {
        this.formOneWorkExperiences = formOneWorkExperiences;
    }

    @Override
    public String toString() {
        return "FormOnePersonInformation{" +
                "id=" + id +
                ", userId=" + userId +
                ", name='" + name + '\'' +
                ", pinyinName='" + pinyinName + '\'' +
                ", alias='" + alias + '\'' +
                ", gender=" + gender +
                ", stature=" + stature +
                ", birthDate=" + birthDate +
                ", birthPlace='" + birthPlace + '\'' +
                ", idNumber='" + idNumber + '\'' +
                ", maritalStatus=" + maritalStatus +
                ", fatherName='" + fatherName + '\'' +
                ", motherName='" + motherName + '\'' +
                ", companyName='" + companyName + '\'' +
                ", duty='" + duty + '\'' +
                ", residencePlacePostcode=" + residencePlacePostcode +
                ", companyAddress='" + companyAddress + '\'' +
                ", companyTel='" + companyTel + '\'' +
                ", companyFax='" + companyFax + '\'' +
                ", homeDetailedAddress='" + homeDetailedAddress + '\'' +
                ", homePhone='" + homePhone + '\'' +
                ", pagingNumber='" + pagingNumber + '\'' +
                ", cellPhoneNumber='" + cellPhoneNumber + '\'' +
                ", email='" + email + '\'' +
                ", scheduledDepartureDate=" + scheduledDepartureDate +
                ", returnDate=" + returnDate +
                ", spentOutsideDays=" + spentOutsideDays +
                ", entryNumber=" + entryNumber +
                ", entryPlace='" + entryPlace + '\'' +
                ", joinArmyStatus=" + joinArmyStatus +
                ", publicPassportStatus=" + publicPassportStatus +
                ", publicPassportOther='" + publicPassportOther + '\'' +
                ", expiryDate=" + expiryDate +
                ", publicPassportEndTime=" + publicPassportEndTime +
                ", publicPassportNumber='" + publicPassportNumber + '\'' +
                ", passportStatus=" + passportStatus +
                ", hasApplyThisCountryVisa=" + hasApplyThisCountryVisa +
                ", hasApplyDate=" + hasApplyDate +
                ", place='" + place + '\'' +
                ", hasApplyType='" + hasApplyType + '\'' +
                ", hasRefuse=" + hasRefuse +
                ", hasRefuseDate=" + hasRefuseDate +
                ", hasGone=" + hasGone +
                ", goTime=" + goTime +
                ", goDays=" + goDays +
                ", realtionAndVisaStatus='" + relationAndVisaStatus + '\'' +
                ", status=" + status +
                ", formOneAssociationInformations=" + formOneAssociationInformations +
                ", formOneJoinArmyInformations=" + formOneJoinArmyInformations +
                ", formOneHaveVisitedCountries=" + formOneHaveVisitedCountries +
                ", formOneMaritalInformation=" + formOneMaritalInformation +
                ", formOneWorkExperiences=" + formOneWorkExperiences +
                '}';
    }
}